package collection;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/**
 * @author Cheng Jun
 * Description: ListIterator 继承Iterator，是对Iterator的一种补充，列表有两种遍历模式从前到后和从后到前，Iterator只有从前到后的遍历模式，
 * 没有从后到前的模式。同时，ListIterator有set方法，遍历过程中可以修改值。
 * @version 1.0
 * @date 2020/8/12 15:16
 */
public class ListIteratorStudy {

    public static void main(String[] args) {

        List<String> nameList = new ArrayList<>();
        nameList.add("cj1");
        nameList.add("cj2");
        nameList.add("cj3");

        ListIterator<String> nameListItr = nameList.listIterator(nameList.size());
        // while 循环里的两个输出语句 顺序调换 结果不一样，注意cursor的理解。
        // while (nameListItr.hasPrevious()) {
        //     System.out.println(nameListItr.previousIndex());
        //     System.out.println(nameListItr.previous());
        // }

        nameList.replaceAll(name -> name + "1111");
        System.out.println(nameList);
    }
}
